package com.ruoyi.system.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 实名认证信息，存储用户多种证件及审核状态对象 t_real_name_verification
 * 
 * @author xiuddooo
 * @date 2025-09-17
 */
public class TRealNameVerification extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private String id;

    /** 关联用户账号ID */
    @Excel(name = "关联用户账号ID")
    private String accountId;

    /** 用户真实姓名 */
    @Excel(name = "用户真实姓名")
    private String realName;

    /** 证件号码，如身份证、护照等 */
    @Excel(name = "证件号码，如身份证、护照等")
    private String certificateNumber;

    /** 证件类型，如身份证、护照、驾驶证等 */
    @Excel(name = "证件类型，如身份证、护照、驾驶证等")
    private String certificateType;

    /** 证件正面照片路径 */
    @Excel(name = "证件正面照片路径")
    private String frontImageId;

    /** 证件背面照片路径 */
    @Excel(name = "证件背面照片路径")
    private String backImageId;

    /** 手持证件照片路径 */
    @Excel(name = "手持证件照片路径")
    private String selfieImageId;

    /** 状态：0-待审核，1-审核通过，2-审核不通过 */
    @Excel(name = "状态：0-待审核，1-审核通过，2-审核不通过")
    private Long status;

    /** 审核失败原因 */
    @Excel(name = "审核失败原因")
    private String auditRemark;
    
    /** 用户 */
    @Excel(name = "用户信息")
    private TAccount account;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }

    public void setAccountId(String accountId) 
    {
        this.accountId = accountId;
    }

    public String getAccountId() 
    {
        return accountId;
    }

    public void setRealName(String realName) 
    {
        this.realName = realName;
    }

    public String getRealName() 
    {
        return realName;
    }

    public void setCertificateNumber(String certificateNumber) 
    {
        this.certificateNumber = certificateNumber;
    }

    public String getCertificateNumber() 
    {
        return certificateNumber;
    }

    public void setCertificateType(String certificateType) 
    {
        this.certificateType = certificateType;
    }

    public String getCertificateType() 
    {
        return certificateType;
    }

    public void setFrontImageId(String frontImageId) 
    {
        this.frontImageId = frontImageId;
    }

    public String getFrontImageId() 
    {
        return frontImageId;
    }

    public void setBackImageId(String backImageId) 
    {
        this.backImageId = backImageId;
    }

    public String getBackImageId() 
    {
        return backImageId;
    }

    public void setSelfieImageId(String selfieImageId) 
    {
        this.selfieImageId = selfieImageId;
    }

    public String getSelfieImageId() 
    {
        return selfieImageId;
    }

    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }

    public void setAuditRemark(String auditRemark) 
    {
        this.auditRemark = auditRemark;
    }

    public String getAuditRemark() 
    {
        return auditRemark;
    }

    public void setAccount(TAccount account) 
    {
        this.account = account;
    }

    public TAccount getAccount() 
    {
        return account;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("createBy", getCreateBy())
            .append("updateBy", getUpdateBy())
            .append("accountId", getAccountId())
            .append("realName", getRealName())
            .append("certificateNumber", getCertificateNumber())
            .append("certificateType", getCertificateType())
            .append("frontImageId", getFrontImageId())
            .append("backImageId", getBackImageId())
            .append("selfieImageId", getSelfieImageId())
            .append("status", getStatus())
            .append("auditRemark", getAuditRemark())
            .toString();
    }
}
